package com.sc.dal.mapper.goods;

import java.util.List;
import java.util.Map;

import com.sc.dal.model.favorites.Favorites;
import com.sc.dal.model.goods.Goods;

public interface GoodsMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(Goods goods);

    @SuppressWarnings("rawtypes")
	Goods selectByGoods(Map map);
    
    Goods selectByPrimaryKey(Integer id);

    int updateByPrimaryKey(Goods goods);
    
    List<Goods> selectList(Map<String, Object> paramMap);
    
    /**
     * 查找推荐商品
     * @return List<Goods>
     */
    List<Goods> selectListRecommend();
    /**
     * 根据classId查询所有商品
     * @param map
     * @return
     */
    List<Goods> queryGoodsByClassIdList(Map<String,Object> map);
    
    /**
     * 查找单表单个商品
     * @param id
     * @return Goods
     */
    Goods selectOneGoods(Integer id);
    
    /***
     * 统计总数
     * @return
     */
    List<Integer> findTotal();
    /**
     * 统计评论总数与交易成功数
     * @return
     */
    List<Integer> statisticsGoodsDetails(Map<String, Object> map);
    /***
     * 根据商品Id查询相关数据
     * @param idMap
     * @return
     */
	List<Goods> queryGoodsListById(Map<String, Object> idMap);
	
	
	/**
	 * @title 查询商品的收藏人气 
	 * @param paramMap
	 * @return
	 */
	public List<Favorites> goodsCollectionSentiment(Map<String,Object> paramMap);

	/**
	 * 查询商品的月销数量
	 * @param goodsId
	 * @return
	 */
	int selectGoodsMonthSaleMount(Integer goodsId);
	
	/****
	 * 热门词汇关键字
	 * @return
	 */
	List<String> queryHotWords();
}